<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>



  


  
  
  
  
  
  <title>MPEG2Dec</title>
  <link rel="stylesheet" type="text/css" href="../../avisynth.css">
<!-- Automatically generated, don't change: $Id: mpeg2dec.htm,v 1.2 2005/10/31 14:55:54 macpaille Exp $ -->
</head>


<body>




<h1>MPEG2Dec</h1>

<h2>R&eacute;sum&eacute;</h2>



<b>auteurs:</b> Dividee et d'autres<br>




<b>version:</b> 1.10<br>




<b>cat&eacute;gorie:</b> Plugins (source)
d&eacute;codeurs MPEG<br>




<b>t&eacute;l&eacute;chargement:</b> <a href="http://www.avisynth.org/warpenterprises/">http://www.avisynth.org/warpenterprises/</a>
(vous pouvez trouver les sources sur <a href="http://users.win.be/dividee/avisynth.html">la page de
Dividee</a>)
<br>




<b>outils n&eacute;cessaires:</b>&nbsp;&nbsp;
<hr>
<h2>Description</h2>




Ce filtre renvoie une sortie dans les formats de couleurs RGB ou YUY2<br>




C'est un d&eacute;codeur MPEG-2 qui est capable de lire n'importe
quel flux MPEG-2 lu par DVD2AVI 1.76
<h2>Filtres</h2>




<p>Une liste de tout les filtres inclus dans cette version
sp&eacute;ciale de mpeg2dec.dll: </p>




<h3>TemporalSmoother</h3>




<p><code>TemporalSmoother</code> (<var>clip,
int "strength", int
"radius"</var>)
</p>




<p>C'est un port du filtre TemporalSmoother de <a href="http://www.virtualdub.org/index" target="_parent"><cite>VirtualDub</cite></a>.
Il travaille en RGB32 &amp; YUY2.<br>




Dans le fichier d'aide de VirtualDub, on trouve:
</p>




<blockquote>
  
  
  
  <p>Ce filtre est un r&eacute;ducteur de bruit adaptatif,
travaillant sur l'axe temporel; il est particuli&egrave;rement
efficace quand l'image ne bouge pas trop. Augmentez la force (strength)
du filtre pour augmenter la r&eacute;duction de bruit, et diminuez
la pour r&eacute;duire les artefacts de t&acirc;ches ou
d'images fant&ocirc;mes. Il est recommand&eacute; d'utiliser ce
filtre conjointement avec un filtre de r&eacute;duction de bruit
spatial (bas&eacute; sur la surface) pour obtenir un meilleur
r&eacute;sultat. Toutes les images &agrave;
l'int&eacute;rieure de la plage d&eacute;finie par le rayon
(radius) sont examin&eacute;es. Le rayon minimum est 1, le maximum
est 7. Des valeurs importantes entra&icirc;neront un traitement plus lent. La
valeur par d&eacute;faut est 3, qui est la valeur
utilis&eacute;e dans VirtualDub. La valeur par d&eacute;faut de
la force est 2.</p>




</blockquote>




<p>Notez que contrairement &agrave; son &eacute;quivalent
de VirtualDub, ce filtre n'a pas de latence. Cela permet
d'&ecirc;tre s&ucirc;r que les images n&eacute;cessaires pour son
travail sont dans son r&eacute;servoir (buffer). En cons&eacute;quence,
l'acc&egrave;s al&eacute;atoire dans le clip est lent, surtout
avec une grande valeur de rayon.</p>




<p>Exemple:
</p>




<pre># Les effets de ce filtre en RGB et en YUV ne sont pas &agrave; 100% &eacute;quivalents, surtout quand la force (strenght) est grande:<br># Observons ces diff&eacute;rences<br><br>cYUY2 = ConvertToRGB(TemporalSmoother(ConvertToYUY2,10))<br>cRGB = TemporalSmoother(10)<br>Subtract(cYUY2, cRGB)</pre>




<h3>SelectRangeEvery</h3>




<p><code>SelectRangeEvery</code> (<var>clip,
int every, int length, int "offset"</var>)
</p>




<p>S&eacute;lectionne <var>length</var>
images toute les <var>every</var> images, en commen&ccedil;ant
apr&egrave;s un d&eacute;calage
(<var>offset</var>) initial.
</p>




<p>SelectRangeEvery(every, length, offset) est
&eacute;quivalent &agrave; SelectRangeEvery(Trim(offset, 0),
every, length)
</p>




<h3>BlendFields</h3>




<p><code>BlendFields</code> (<var>clip</var>)
</p>




<p>D&eacute;sentrelace un clip en m&eacute;langeant les
champs ensemble. Cela correspond au mode de m&eacute;lange du
filtre de d&eacute;sentrelacement de VirtualDub port&eacute; sous AviSynth. Il travail en RGB ou en YUV. Si AviSynth
indique un clip bas&eacute; sur des champs, <a href="../corefilters/weave.htm"> Weave</a> est
appliqu&eacute; pour que la sortie soit bas&eacute;e sur des
images compl&egrave;tes. Si AviSynth se trompe, utilisez <a href="../corefilters/parity.htm"> AssumeFrameBased</a>
juste avant.</p>




<h3>MotionMask</h3>




<p><code>MotionMask</code> (<var>clip, int
mode, int treshold,
bool "denoise", bool "fast"</var>)</p>




<p>Cr&eacute;e un clip poss&eacute;dant deux couleurs
identifiant les partie mobiles des images. L'algorithme provient de la
version 2.5 du filtre Smart Deinterlacer pour VirtualDub
&eacute;crit par <a href="http://sauron.mordor.net/dgraft/" target="_parent"><cite>Donald
Graft</cite></a>.<var> mode</var> est un entier
qui peut avoir 3 valeurs: 1 pour les diff&eacute;rences d'images
uniquement, 2 pour les diff&eacute;rences de champs uniquement, et
3 pour les diff&eacute;rences d'images et de champs.<var>
treshold</var> est un entier qui correspond &agrave; la
sensibilit&eacute; du filtre. Un <var>treshold</var>
bas rend le filtre plus sensible au mouvement, en donc au
bruit.&nbsp;<var>denoise</var> (bool&eacute;en,
par d&eacute;faut=true) active un filtrage additionnel pour r&eacute;duire
les erreurs de d&eacute;tection de mouvement d&ucirc;s au bruit. Il
permet ainsi d'utiliser des thresholds plus petits.<var> fast</var>
(bool&eacute;en,
par d&eacute;faut=false) permet au filtre d'&ecirc;tre plus
rapide en travaillant sur deux pixels en m&ecirc;me temps mais en
&eacute;tant moins pr&eacute;cis.</p>




<p>Pour une description plus pr&eacute;cise des
param&egrave;tres, veuillez vous r&eacute;f&eacute;rer au
fichier d'aide inclut avec le filtre&nbsp;<a href="http://sauron.mordor.net/dgraft/smart.html" target="_parent"><cite>Smart
Deinterlacer pour VirtualDub</cite></a> (en anglais).</p>




<p>Actuellement <code>MotionMask</code> supporte
seulement le format YUY2. Notez &eacute;galement que le mode
couleur du filtre de VirtualDub n'est pas support&eacute; (pour
l'instant).</p>




<h3>MaskedDeinterlace</h3>




<p><code>MaskedDeinterlace</code> (<var>clip,
clip mask,
bool blend</var>)</p>




<p><code>MaskedDeinterlace</code> est
con&ccedil;u pour travailler avec <code>MotionMask</code>.
Il d&eacute;sentrelace le clip en fonction des valeurs du
param&egrave;tre&nbsp; <var>mask</var>.
O&ugrave;<var> mask</var> est un clip
renvoy&eacute; par <code>MotionMask</code>. &nbsp;<var>blend</var>
(bool&eacute;en, par d&eacute;faut=false) indique si le
d&eacute;sentrelacement est fait en &eacute;liminant la
moiti&eacute; des lignes (un champ) et les interpoles (quand&nbsp;<var>blend</var>
est false), ou s'il m&eacute;lange les lignes adjacentes
(quand&nbsp;<var>blend</var> est true (vrai)).</p>




<p><var>mask</var> et <var>clip</var>
doivent avoir la m&ecirc;me largeur, la m&ecirc;me hauteur, et
le m&ecirc;me format de pixels.</p>




<h3>SmartDeinterlace</h3>




<p><code>SmartDeinterlace</code> (<var>clip,
clip mode,
int treshold, int "denoise", bool "blend",
bool "fast"</var><tt>)</tt></p>




<p>C'est un raccourci de:</p>




<blockquote>
  
  
  
  <p>MaskedDeinterlace (clip, MotionMask(clip, mode, treshold,
denoise, fast), blend)</p>




</blockquote>




<p>Cela montre vraiment que ces filtres sont seulement un portage
du filtre Smart
Deinterlacer de&nbsp;Donald Graft.</p>




<h3>MaskedMix</h3>




<p><code>MaskedMix</code> (<var>clip1, clip2,
clip mask</var>)</p>




<p>Renvoie un clip o&ugrave; chaque pixel provient soit de <var>clip1</var>
ou de <var>clip2</var> en se basant sur le
param&egrave;tre <var>mask</var> de chaque pixel. Les
trois clips doivent avoir la m&ecirc;me largeur, la m&ecirc;me
hauteur et le m&ecirc;me format &nbsp;de pixels. Cela vous
permet &nbsp;d'utiliser d'autres m&eacute;thodes de
d&eacute;sentrelacement que celle propos&eacute;es avec <code>MaskedDeinterlace</code>.</p>




<p>Par exemple, le script suivant peut &ecirc;tre
utilis&eacute; pour reproduire l'option "Show
motion areas only" (montre les surfaces en mouvement uniquement) du
filtre Smart Deinterlacer de VirtualDub:</p>




<pre>mask = MotionMask(3, 10, true)<br>deint = BlendFields<br>tmp = Blackness.Levels(0,1,255,127,127)<br>MaskedMix(tmp, deint, mask)</pre>




<p><kbd>$English date: 2004/08/13 21:57:25 $<br>




French translation: 2005/10/31 JasonFly <a href="mailto:macpaille@users.sourceforge.net">macpaille@users.sourceforge.net</a></kbd></p>




</body>
</html>
